A computer network allows a number of interconnected computers to communicate between themselves and to share resources and/or information. Communication links, either wired or wireless, are provided between the computers to facilitate the data transmission and reception therebetween. Computer networks are classified according to different criteria, such as scale, purpose, the hardware and software technology used to interconnect the individual devices in the network. For instance, a local area network (LAN) is a computer network covering a small physical area, like a home or an office. Ethernet is a suite of frame-based computer networking technologies for LANs. Standardized as IEEE 802.3, Ethernet networks have evolved to be one of the most popular computer networks of today.
Often, a computer in the network is not directly connected to another, but via one or more intermediate electronic devices. The intermediate devices are capable of forwarding, or relaying, data originated from one or more source computers to one or more destination computers or one or more other intermediate devices. Examples of such intermediate devices are hubs, bridges, switches, routers, and so on. In the following, the intermediate devices are referred to as “nodes”.
Some types of nodes, such as bridges and routers, do not simply forward data “blindly”, but are implemented with some routing intelligence so they can analyze the incoming data and to determine, from the plurality of nodes around them, the proper one or ones for the data to be forwarded onwards. For example, a bridge can analyze the OSI layer-2 address of the incoming data to determine if the data can be forwarded to a certain neighbouring bridge. In the context of this application, the term “routing” denotes a process of selecting paths in a network along which to send network traffic. “Routing” is not limited to routers, which are usually considered as layer-3 devices.
Numerous routing protocols have been developed over the years to specify how nodes on a computer network communicate with each other, and in particular, how routing-related information can be disseminated among them so that each node obtains knowledge of the topology of the network. This knowledge allows each node to calculate, using certain routing algorithm, the best path(s) for it to forward data to each other node.
Link-state protocols are a major class of routing protocols widespread in computer networks, and a specific link state protocol is the Intermediate System to Intermediate System protocol, or IS-IS. IS-IS operates by reliably flooding topology information throughout a network of nodes. Each node then independently builds a picture of the network's topology. Data, preferably in packets, frames, or datagrams, is forwarded based on the best topological path through the network to the destination. IS-IS uses the Dijkstra algorithm for calculating the best path through the network.
The calculation of best paths between the nodes must be carefully designed so that data forwarding there-between can take place in a smooth, reliable, and efficient manner. The Spanning Tree Protocol (STP) has been proposed for this purpose. Initially defined in the IEEE Standard 802.1D, STP is a link layer (corresponding to OSI layer-2) network protocol that ensures a loop-free topology for a LAN—loops should be avoided because they result in flooding the network. As its name suggests, STP creates a tree structure of loop-free leaves and branches that spans the entire network. The spanning tree allows a network designer to include redundant links to to the physical topology without the danger of forming loops, or the need for manual enabling/disabling of these backup links.
As an evolution of the initially standardized STP, the Rapid Spanning Tree Protocol (RSTP) provides faster spanning tree convergence after a topology change. A further evolution is the Multiple Spanning Tree Protocol (MSTP), which was originally defined in IEEE 802.1s and later merged into IEEE 802.1Q. As an extension to the RSTP protocol, MSTP further develops the usefulness of virtual LANs (VLANs). MSTP configures a separate spanning tree for each VLAN group and blocks all but one of the possible alternate paths within each spanning tree.
There is an on-going effort for enhancing the computer networks in order to support carrier grade services. IEEE 802.1Qay PBB-TE has been defined to support point-to-point and point-to-multipoint traffic engineered services and to provide protection switching for point-to-point services. That is, in case of a failure of a certain link connecting two nodes, or a failure of any intermediate(s) node along that link, the data forwarding between the two nodes is automatically switched from the original, default path to the alternative, backup path. Such a switching strategy effectively protects the data forwarding from path failures and is thus known as protection switching. Protection switching aims to limit the failover time, e.g. the time for executing the switching over from the default path to the backup path, as short as possible. PBB-TE implements protection switching only for point-to-point connections.
PBB-TE supports protection switching, which requires that both the default, or operational path and the backup path are monitored; this is realized by Continuity Check Messages (CCM) of the Ethernet Connectivity Fault Management (CFM) protocol. CCM is one of the standard Ethernet mechanisms that detect and signal connectively failures in a network.
Defined in IEEE802.1ag, CFM specifies certain operation, administration, and management (OAM) capabilities to help network administrators debug the network. Three types of CFM messages are supported by the current standard: Continuity check, Loopback, and Traceroute. The continuity check messages (CCMs) are multicast heartbeat messages exchanged between nodes, enabling them to detect loss of service connectivity amongst themselves. CCMs are unidirectional and do not solicit any response. The absence of CCM from a source node or specific information received in one of the CCM's Type Length Values (TLVs) may indicate to the destination node that the connectivity between the nodes has been disrupted. Protection switching is then automatically invoked. The current CFM technologies are able to achieve a failover time of about 50 ms.
According to the latest CFM standard, a CCM message comprises a Remote Defect Indication (RDI) field; however, the standard does not specify how this field can be used.
The control protocols available for multipoint-to-multipoint services, which are also referred to as multipoint services, are RSTP and MSTP. An ongoing standardization project in IEEE is 802.1aq Shortest Path Bridging (SPB) which defines a novel control protocol for networks based on link state principles. SPB is also able to support multipoint services.
In brief, SPB applies link state routing protocols, e.g. IS-IS, to the utilization of mesh topologies for Ethernet bridging. SPB forwards data on shortest path trees with minimum path cost as a first order tie-breaker. Two distinctive characteristics of the SPB are:                for each node, at least one shortest path tree (SPT) is provided with the node as the root of the tree; and        for any pair of nodes A and B, the unicast path from A to B is the exact reverse of the path from B to A (reverse path congruency), and all multicast traffic between the two nodes follows the unicast path (multicast and unicast congruency).        
In SPB, conventional bridge learning is used to associate (customer) MAC addresses to ports and hence routes through the SPB region. The source-rooted tree associated with each node is assigned a unique VLAN ID (the SPVID) to identify it.
Providing resiliency for multipoint services in other computer networks besides Ethernet is also an important issue. For example, MPLS can only provide fast failover for point-to-point services but not for multipoint services.
Despite of their different control protocol principles, RSTP/MSTP and SPB (as it is described in the current standardization draft) are common in their fault handling principle. Namely, both SPB and RSTP/MSTP apply restoration for fault handling, i.e. they dynamically reconfigure the forwarding topologies if a network element (a node or a link) breaks down. However, the restoration time of the forwarding topologies, which equals to the failover time, does not have any predefined upper bound but depends on several factors. For instance, the size of the network, the type of the network topology and the location of the failure all significantly influence the failover time. Thus, the failover time is not controlled, not bounded but is different scenario by scenario. That is the failover time may increase above the desired level for multi-point services in case of all control protocols available today, i.e. both in case of RSTP/MSTP and SPB.
The problem is similar in other computer networks, i.e. they only provide restoration for multipoint services thus not assuring any guarantee for the failover time.